package com.dykj.fireFighting.api.elasticsearch.devHis.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

import java.io.Serializable;


/**
 * @Description 实时报警
 * @Author LJJ
 * @Date 2021-06-30 14:45:09
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Document(indexName = "devhis", type = "product", shards = 1, replicas = 0)

//shards = 10, replicas = 1
public class EsDevHis implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 唯一标识
     */
    @Id
    private String id;
    /**
     * 用户传输装置唯一编码
     */
    @Field(type = FieldType.Keyword)
    private String devCode;
    /**
     * 数据上传时间
     */
    @Field(type = FieldType.Keyword)
    private String upTime;
    /**
     * 类型：用户传输装置1；设备：2    主机  3
     */
    @Field(type = FieldType.Keyword)
    private String lx;
    /**
     * 状态发生时间
     */
    @Field(type = FieldType.Keyword)
    private String ztfssj;
    /**
     * 部件状态说明（中文）只做显示
     */
    private String bjztSm;
    /**
     * 类型：用户传输装置1；设备：2    主机  3
     */
    private String bjzt;
    /**
     * 系统类型（参照26875.3）
     */
    private String xtlx;
    /**
     * 系统地址（参照26875.3）
     */
    private String xtdz;
    /**
     * 部件类型
     */
    private String bjlx;
    /**
     * 报警复核（0未复核    1已复核）
     */
    private String status;
    /**
     * 回路号
     */
    private String hlh;
    /**
     * 部件号
     */
    private String bjh;
    /**
     * 二次码
     */
    private String ecm;
    /**
     * 报警16进制码
     */
    private String hex;
    /**
     * 用于关联设备用
     */
    private String relationId;

    private String td;
    /**
     * 复核及内容
     */
    private String fuheContent;
    @Field(type = FieldType.Keyword)
    private String unitId;
    @Field(type = FieldType.Keyword)
    private String deviceName;
    @Field(type = FieldType.Keyword)
    private String centerUnitId;
    private String unitsName;
    private String isRead = "0";
    private String wbRead = "0";

    /**
     * 复核时间
     */
    @ApiModelProperty(value = "复核及内容")
    @TableField("fuhe_time")
    private String fuheTime;

    /**
     * 复核人
     */
    @TableField("fuhe_person")
    private String fuhePerson;

    @TableField("fuhe_person_id")
    private String fuhePersonId;

    /**
     * 是否有效复核(0否  1 是)
     */
    @TableField("is_effective")
    private Integer isEffective;

    /**
     * 重点部位  nfc上传
     */
    @Field(type = FieldType.Keyword)
    private String importPart;


    @TableField(exist = false)
    private String imgFiles;


    /**
     * 设备所属单位id
     */
    @TableField(exist = false)
    private String devUnitId;

    /**
     * 设备名称
     */
    private String devName;
    /**
     * 设备类型
     */
    @Field(type = FieldType.Keyword)
    private String devType;
    /**
     * 设备所属单位
     */
    private String devUnitName;
}
